package fiuba.webapp.action;

import fiuba.model.Busqueda;
import fiuba.model.ContenidoEstatico;
import fiuba.model.Encuesta;
import fiuba.model.Banner;
import fiuba.service.BannerManager;
import fiuba.service.BusquedaManager;
import fiuba.service.ContenidoEstaticoManager;
import fiuba.service.EncuestaManager;
import fiuba.service.GenericManager;
import java.util.List;
import java.util.ArrayList;

public class TiposDeElementoAction extends BaseAction {
	private ContenidoEstaticoManager contenidoEstaticoManager;
	private EncuestaManager encuestaManager;	
	private BannerManager bannerManager;	
	private BusquedaManager busquedaManager;	
	private String tipo = "";
	private String html;
	
	
	public String list() {
		List elementos = null;
		Object[] arrayElementos = null;
		int i;
		StringBuffer  sb = new StringBuffer();
		if (tipo.equalsIgnoreCase("ES")) {
			elementos = contenidoEstaticoManager.getVigentes();
			arrayElementos = elementos.toArray();
			sb.append("[");
			for (i = 0; i < arrayElementos.length; i++) {
				if (! "[".equals(sb.toString())) sb.append(", ");
				ContenidoEstatico cont = (ContenidoEstatico) arrayElementos[i];
				sb.append("{id:'").append(cont.getId()).append("',name:'");
				sb.append(
						cont.getNombre().replace("'", "\\'").replace("\n", "").replace("\r", "")
						);
				sb.append("'}");
			}
			sb.append("]");
		}
		if (tipo.equalsIgnoreCase("EN")) {
			elementos = encuestaManager.getAll();
			arrayElementos = elementos.toArray();
			sb.append("[");
			for (i = 0; i < arrayElementos.length; i++) {
				if (! "[".equals(sb.toString())) sb.append(", ");
				Encuesta en = (Encuesta) arrayElementos[i];
				sb.append("{id:'").append(en.getId()).append("',name:'");
				sb.append(
						en.getNombre().replace("'", "\\'").replace("\n", "").replace("\r", "")
						);
				sb.append("'}");
			}
			sb.append("]");
		}
		if (tipo.equalsIgnoreCase("PR")) {
			elementos = bannerManager.getAll();
			arrayElementos = elementos.toArray();
			sb.append("[");
			for (i = 0; i < arrayElementos.length; i++) {
				if (! "[".equals(sb.toString())) sb.append(", ");
				Banner ban = (Banner) arrayElementos[i];
				sb.append("{id:'").append(ban.getId()).append("',name:'");
				sb.append(
						ban.getNombre().replace("'", "\\'").replace("\n", "").replace("\r", "")
						);
				sb.append("'}");
			}
			sb.append("]");
			
		}
		if (tipo.equalsIgnoreCase("BU")) {
			elementos = busquedaManager.getAll();
			arrayElementos = elementos.toArray();
			sb.append("[");
			for (i = 0; i < arrayElementos.length; i++) {
				if (! "[".equals(sb.toString())) sb.append(", ");
				Busqueda bus = (Busqueda) arrayElementos[i];
				sb.append("{id:'").append(bus.getId()).append("',name:'");
				sb.append(
						bus.getNombre().replace("'", "\\'").replace("\n", "").replace("\r", "")
						);
				sb.append("'}");
			}
			sb.append("]");
			
		}
		this.html = sb.toString();
	    return SUCCESS;
	}


	public String getTipo() {
		return tipo;
	}


	public void setTipo(String tipo) {
		this.tipo = tipo;
	}


	public String getHtml() {
		return html;
	}


	public void setHtml(String html) {
		this.html = html;
	}


	public void setContenidoEstaticoManager(
			ContenidoEstaticoManager contenidoEstaticoManager) {
		this.contenidoEstaticoManager = contenidoEstaticoManager;
	}


	public void setEncuestaManager(EncuestaManager encuestaManager) {
		this.encuestaManager = encuestaManager;
	}


	public void setBannerManager(BannerManager bannerManager) {
		this.bannerManager = bannerManager;
	}


	public BannerManager getBannerManager() {
		return bannerManager;
	}


	public void setBusquedaManager(BusquedaManager busquedaManager) {
		this.busquedaManager = busquedaManager;
	}

}
